<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Enumerator</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../css/default.css" rel="stylesheet" type="text/css">
</head>
<body>

<h1>枚举数对象 <span class="ver">[AHK_L 49+]</span></h1>

<p>可以枚举容器中的项目.</p>

<div class="methodShort">
<h2 id="Next">Next</h2>

<p>检索下一个项目或枚举中的项目.</p>
<pre class="Syntax">Enum.Next(OutputVar1 [, OutputVar2, ...])</pre>
<table class="info">
  <tr><td width="15%">OutputVar1, OutputVar2</td><td width="85%">接收一个特定于实现的值.</td></tr>
  <tr><td>...</td><td>附加参数, 如果支持的话.</td></tr>
  <tr><td><b>返回值</b></td><td>成功时返回非零整数, 如果没有剩余项目则返回零, 而参数不正确则返回空字符串.</td></tr>
</table>

<h3>对象</h3>
<p>由 <a href="Object.htm#NewEnum">ObjNewEnum()</a> 返回的计数器为每个键值对调用一次, 最多允许两个参数:</p>
<table class="info">
  <tr><td width="15%">OutputVar1</td><td width="85%">接收键值对中的 <b>键</b>.</td></tr>
  <tr><td>OutputVar2</td><td>接收与 <b>OutputVar1</b> 关联的 <i>值</i>.</td></tr>
</table>
<p>现有的键值对可以在枚举时修改, 但插入或移除键可能使得一些项目被多次枚举或一次都不枚举.</p>

<h3>替代语法</h3>
<p>为了方便, <code>Enum[k,v]</code> 可以等同于 <code>Enum.Next(k,v)</code>. 因为较短的语法可能难以处理脚本枚举数含混不清的情况, 所以它应该仅在已知 <i>Enum</i> 为内置的枚举数对象时使用.</p>

<h3>相关</h3>
<a href="../commands/For.htm">For-loop</a>, <a href="Object.htm#NewEnum">Object.NewEnum()</a>

<h3>示例</h3>
<pre class="NoIndent"><em>; Create some sample data.</em>
obj := Object("red", 0xFF0000, "blue", 0x0000FF, "green", 0x00FF00)

<em>; Enumerate!</em>
enum := obj._NewEnum() While enum[k, v] t .= k "=" v "`n" MsgBox % t

<em>; AHK_L 59+</em>
For k, v in obj s .= k "=" v "`n" MsgBox % s
</pre>
</div>

</body>
</html>
